home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / UTILREEN / DMP200.LZH / DMP.DOC < prev    next >
Text File  |  1989-02-10  |  84KB  |  2,101 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.                                       * DMP *
  18.  
  19.                 Printer driver/spooler for IBM PCs and compatibles.
  20.  
  21.                     Revision 2.00
  22.  
  23.            Copyright(c) 1989 DMP software.    All rights reserved.
  24.  
  25.               This documentation updated 10 Feb. 1989
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                     _______
  37.                ____|__     |               (TM)
  38.             --|       |    |-------------------
  39.               |   ____|__  |  Association of
  40.               |  |       |_|  Shareware
  41.               |__|   o   |    Professionals
  42.             -----|   |   |---------------------
  43.                  |___|___|    MEMBER
  44.        
  45.  
  46.  
  47.  
  48.             DMP Software
  49.             1223 Wilshire Blvd.,  Suite 199
  50.             Santa Monica,  CA  90403
  51.  
  52.  
  53.  
  54.        The following Trademarks are used throughout this documentation:
  55.       PostScript - Adobe Systems, Inc.
  56.           IBM - International Business Machines Corporation.
  57.           Microsoft - Microsoft Corporation.
  58.           MS-DOS - Microsoft Corporation.
  59.  
  60.  
  61.  
  62.  
  63.                                  TABLE OF CONTENTS
  64.        
  65.        Introduction.  .    .    .    .    .    .    .    .    .    1
  66.        User Supported Software. .    .    .    .    .    .    .    1
  67.        LaserZ.   .    .    .    .    .    .    .    .    .    .    2
  68.        Contents of the DMP.ARC file. .    .    .    .    .    .    2
  69.        
  70.        How to use this documentation.     .    .    .    .    .    2
  71.        Starting DMP - basic options & examples.     .    .    .    3
  72.        Saving your configuration.    .    .    .    .    .    .    4
  73.        
  74.        FREQUENTLY USED COMMANDS - examples. .  .    .    .    .    4
  75.        File print utility - PF. .    .    .    .    .    .    .    6
  76.        
  77.        OUTPUT SELECTION.   .    .    .    .    .    .    .    .    6
  78.             Printer connected to a parallel port.   .    .    .    7
  79.             Printer connected to a serial port.     .    .    .    7
  80.             Printer output redirected to a disk file.    .    .    9
  81.        
  82.        MEMORY AND DISK SPOOLING.     .    .    .    .    .    .    10
  83.             Simplified memory diagram.    .    .    .    .    .    11
  84.             Changing the internal buffer size. .    .    .    .    12
  85.             Spooling to expanded memory.  .    .    .    .    .    12
  86.             Spooling to extended memory.  .    .    .    .    .    13
  87.             Extended memory - no XMM driver.   .    .    .    .    13
  88.             Extended memory with the XMM driver
  89.                  -the XMBLOCK program.    .    .    .    .    .    14
  90.             HMA memory spooling.     .    .    .    .    .    .    15
  91.             Spooling to disk.   .    .    .    .    .    .    .    15
  92.             Combination memory and disk spooling
  93.                  - more examples.    .    .    .    .    .    .    16
  94.        
  95.        DRIVER CONTROL COMMANDS AND OPTIONS.    .    .    .    .    18
  96.             Printer control.    .    .    .    .    .    .    .    19
  97.             Character strings in commands.     .    .    .    .    22
  98.             Character conversions.   .    .    .    .    .    .    22
  99.        
  100.        Spooler control.    .    .    .    .    .    .    .    .    25
  101.        Miscellaneous. .    .    .    .    .    .    .    .    .    26
  102.        
  103.        Using the environment variable.    .    .    .    .    .    26
  104.        Using the configuration file. .    .    .    .    .    .    26
  105.        
  106.        DMP and Word Processors. .    .    .    .    .    .    .    27
  107.        Technical description..  .    .    .    .    .    .    .    28
  108.             How commands are interpreted. .    .    .    .    .    28
  109.             Details of program operation. .    .    .    .    .    28
  110.        Command summary chart.   .    .    .    .    .    .    .    30
  111.        
  112.        Registration and Ordering.    .    .    .    .    .    .    31
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.                                DMP 2.00 - page 1.
  123.  
  124.  
  125.  
  126.        INTRODUCTION
  127.  
  128.           DMP is a general purpose printer controller including very
  129.        versatile spooling capability.  It works on IBM PC/XT/AT and PS/2
  130.        computers and most compatibles, running under PC-DOS or MS-DOS
  131.        versions 2.0 thru 3.3.
  132.  
  133.        Some of DMP's major features are:
  134.           -Print to disk file option
  135.           -Support for serial port printers
  136.           -Spooling to any Dos-recognized disk
  137.           -Spooling to all common types of memory
  138.           -Selectable internal buffer size / system memory usage
  139.           -The ability to drive a wide range of printers at full speed.
  140.  
  141.           DMP is a true spooler in that it saves the printer output to non-
  142.        system memory or to disk as needed, instead of removing a large buffer
  143.        from system memory.
  144.  
  145.           DMP is a memory resident program which uses approximately 13K bytes
  146.        of system memory.  The program is not compatible with the DOS 'PRINT'
  147.        utility, or with any other print spoolers or buffers which drive
  148.        printer no. 1.  If you use DMP for a serial port printer, you must not
  149.        use the DOS "MODE" command to redirect output - DMP does it instead.
  150.  
  151.           DMP has been used with MS-DOS and PC-DOS versions 2.0 thru 3.3 and
  152.        with numerous 'TSR' programs, with no compatibility problems except as
  153.        noted.
  154.  
  155.           The program disk also includes the utility "PF" for printing files
  156.        from a disk without using the DOS 'COPY' command.  PF is described in
  157.        detail below.  The syntax for PF is:  "PF filespec, filespec,..."  The
  158.        filespecs use the DOS file and directory conventions, and may include
  159.        wildcards, ? and *.
  160.  
  161.  
  162.        USER SUPPORTED SOFTWARE
  163.  
  164.           This program is copyrighted material for personal use.  If you
  165.        would like to continue to use the program after a reasonable
  166.        evaluation period, send a check for $18 to:
  167.             Terry McGuire
  168.             DMP Software
  169.             1223 Wilshire Blvd.,  Suite 199
  170.             Santa Monica,  CA  90403
  171.  
  172.           You may use the registration form at the end of the documentation
  173.        if you like.  The form contains information about another way to
  174.        register, and details about quantity pricing.  If you don't use the
  175.        form, please make sure your name and address are included on your
  176.        check.
  177.  
  178.           The previous version of DMP was $15 plus $3 shipping.  When you
  179.        register this version you will receive a diskette with the latest
  180.  
  181.  
  182.                                DMP 2.00 - page 2.
  183.  
  184.  
  185.  
  186.        program available.   This is intended to keep the price the same as
  187.        the prior version and eliminate some confusion.
  188.  
  189.           Anyone desiring to use this program on more than one computer must
  190.        purchase additonal copies or fill out and return the registration form
  191.        at the end of this documentation for the number of copies needed.
  192.  
  193.           Making copies of DMP for others or placement on electronic bulletin
  194.        boards is allowed and encouraged, as long as the programs and documen-
  195.        tation are transferred in their entirety, with no modifications.  If
  196.        you would like to post DMP on your favorite BBS, please use the
  197.        DMP.ARC file as you received it.
  198.  
  199.  
  200.        LaserZ
  201.  
  202.           LaserZ is available seperately from DMP software for $29 plus $3
  203.        shipping.  LaserZ is a printer driver / spooler based on DMP that also
  204.        includes output for PostScript printers.  It allows you to print
  205.        normal text files and output from DOS programs on PostScript printers.
  206.        LaserZ includes emulation of other printers, selection of different
  207.        fonts and type sizes, PostScript output for the "Print-Screen"
  208.        function, and a number of other features.  A complete, printed manual
  209.        is included.  If you have a PostScript printer you can order LaserZ
  210.        with the order form at the end of this documentation.
  211.  
  212.  
  213.        CONTENTS OF THE DMP.ARC FILE
  214.  
  215.        The DMP program incudes these files:
  216.           1.) DMP.COM; The main program.
  217.           2.) DMP.DOC; This documentation.
  218.           3.) PF.COM; 'Print Files' utility, described below.
  219.           4.) XMBLOCK.COM; Utility program to allow use of DMP with an XMM
  220.              driver and an extended memory ramdisk.
  221.  
  222.  
  223.        HOW TO USE THIS DOCUMENTATION
  224.  
  225.           This documentation is quite lengthy, and is best used as a refer-
  226.        ence rather than a tutorial.  The two sections above are important, as
  227.        well as the next few small sections on start-up, saving the config-
  228.        uration, and frequently used commands.
  229.  
  230.           The rest of the documentation describes the commands and options in
  231.        detail, and gives a technical description of how the program works.
  232.        Read the start-up section below, and anything else that interests you.
  233.        It is usually best to get the program printing something, then decide
  234.        which other features you might like and try them out.
  235.  
  236.           Commands are shown on a seperate line or in quotes, with optional
  237.        parameters in brackets.  They should be entered exactly as shown,
  238.        except that they are not case sensitive.  All commands are a right
  239.        slash "/" followed by the command and other options.  Spaces are not
  240.  
  241.  
  242.                                DMP 2.00 - page 3.
  243.  
  244.  
  245.  
  246.        allowed between the slash and the command name, and commands are
  247.        seperated by any number of spaces.
  248.  
  249.  
  250.        STARTING DMP - basic options & examples
  251.  
  252.           DMP has a large number of options, and there are default settings
  253.        for all of them.  The commands for all the options are detailed in
  254.        later sections.  Only the very basic startup commands are given here.
  255.        For most printers, the basics are all you will need!
  256.  
  257.           There are two important things you will want to tell DMP about your
  258.        system.  First is where to find your printer.  Second is where to
  259.        spool the data for the printer.
  260.  
  261.           You specify the connection to the printer with the "/B" command for
  262.        a parallel printer, with an optional port number after the B, or the
  263.        "/SC" command for a serial printer - the port number is needed here.
  264.        For a serial printer, you should also specify the bit rate and
  265.        "handshake" signal, as shown in the examples below.
  266.  
  267.           You tell DMP where to spool the data with one or more "/MX"
  268.        commands for memory spooling or a "/Dx:" command for disk spooling.
  269.        The "/MX" commands are:
  270.           "/MX:nn" to set the internal buffer size to 'nn' Kbytes,
  271.           "/MXP" for expanded (LIM) memory,
  272.           "/MXT" for extended memory as found on IBM ATs and many other 80286
  273.              computers,
  274.           "/MXT xxx yyy" also for extended memory, to specify the maximum
  275.              amount (xxx) and starting place (yyy) in the extended memory,
  276.           "/MXAll" for both expanded and extended memory, and
  277.           "/MXAll xxx yyy" to use both expanded and extended and also specify
  278.              the maximum and start for extended memory as in "/MXT".
  279.  
  280.        The disk command, as mentioned above, is "/Dx:".  You need the colon,
  281.        and replace the "x" with the DOS drive letter you want to use.
  282.  
  283.         Startup Example 1:
  284.           Printer on BIOS default parallel port, spool to ramdisk D:
  285.             DMP /DD:
  286.  
  287.         Startup Example 2:
  288.           Printer on parallel port 1, spool to extended memory above a VDisk
  289.           at 1.5MB and to the VDisk itself as drive D:
  290.             DMP /B1 /DD: /MXT 0 512
  291.  
  292.         Startup Example 3:
  293.           Printer on serial port COM1 at 1200bps, using DSR handshake.  Spool
  294.           to expanded memory and hard disk C:
  295.             DMP /SC1 R1200 WDSR /MXP /DC:
  296.  
  297.           The commands in these examples can be entered in any order.  You
  298.        can also change the configuration of DMP at any time by entering new
  299.        commands.
  300.  
  301.  
  302.                                DMP 2.00 - page 4.
  303.  
  304.  
  305.  
  306.           Like all the options, these basic ones have defaults.  The printer
  307.        default is the Bios parallel port  The spooling default is to use the
  308.        internal 6K byte buffer only.  If you install DMP with no commands, it
  309.        will try to drive your printer this way.  (It will display a warning
  310.        for no spool buffers, but still work.)  If you specify a serial port
  311.        with "/SCn" with no other options, the default is 2400bps and CTS
  312.        handshake.
  313.  
  314.  
  315.        SAVING YOUR CONFIGURATION
  316.  
  317.           After you have entered a command string similar to one of the
  318.        above, and printed a page or two using DMP, save the configuration to
  319.        disk with the command "DMP /WCF".  (It stands for "Write Configuration
  320.        File".)  From now on you can install the program with no commands, and
  321.        your previous option settings will be used.  When it starts up, DMP
  322.        displays a summary of it's configuration so you can verify that your
  323.        option settings are correct.
  324.  
  325.           When you enter this command, DMP writes a file named "DMP.CFG" to
  326.        the drive and directory where DMP itself is found (current directory
  327.        under DOS 2).  This file contains all the options that you have
  328.        selected, including the ones not yet explained here.  When DMP is
  329.        installed it finds this file and uses the settings in it.
  330.  
  331.           A seperate section at the end of this documentation describes what
  332.        is saved in the configuration file and how to use it.
  333.  
  334.           A word of caution: If you move DMP to another computer, it is best
  335.        to delete the DMP.CFG file and set up the options from scratch on the
  336.        new system, unless the computer and printer configurations are
  337.        completely identical.
  338.  
  339.  
  340.        FREQUENTLY USED COMMANDS - EXAMPLES
  341.  
  342.           These examples are shown with very little explanation.  They show
  343.        some of the capabilities of DMP, and should give you some ideas for
  344.        which features you want to try out.  Detailed descriptions for all the
  345.        commands are in the sections following.
  346.  
  347.        Example 1:  Parallel printer, text only, spool to hard disk C:,
  348.        simulate form feeds with line feeds, expand tabs, skip perforation.
  349.  
  350.           Load spooler:
  351.              DMP /DC:/F-/T+/V65
  352.  
  353.           Allow graphics printing temporary, i.e. don't convert tab and form-
  354.           feed characters:
  355.              DMP /G+
  356.  
  357.           Re-enable character conversion features:
  358.              DMP /G-
  359.  
  360.  
  361.  
  362.                                DMP 2.00 - page 5.
  363.  
  364.  
  365.  
  366.        Example 2: DMP is already installed for a parallel printer.
  367.  
  368.           Kill spooler output and empty buffers (e.g. paper jam):
  369.              DMP /SK
  370.  
  371.           Print files ABC.TXT and all files with extension .DOC in directory
  372.           \docs on drive C:
  373.              PF C:\DOCS\ABC.TXT C:\DOCS\*.DOC
  374.  
  375.           Send printer output to file PRINTOUT.TXT in the current directory:
  376.              DMP /PFPRINTOUT.TXT
  377.  
  378.           Send output back to parallel printer:
  379.              DMP /B
  380.  
  381.           Suspend spooler output:
  382.              DMP /S-
  383.           (Data continues spooling, printer stops.)
  384.  
  385.           Restart spooler output:
  386.              DMP /S+
  387.  
  388.        Example 3:  Parallel printer connected as LPT1:, text only, spool to
  389.        ramdisk D:, send sequence 'Esc&k0S' to reset printer on startup.
  390.        (You've checked the printer manual!)  Prevent character ^U from being
  391.        sent to printer.
  392.  
  393.           Load spooler:
  394.              DMP /DD: /B1 /C27,"&k0S"/X15-
  395.  
  396.        Example 4: Serial printer connected to COM1, text only, 1200bps,
  397.        printer busy signal connected to DSR line, spool to hard disk C:.
  398.  
  399.           Load spooler:
  400.              DMP /DC: /SC1R1200WDSR
  401.  
  402.           Printer output to disk file DATA.123 on drive A:, append output to
  403.           existing file:
  404.              DMP /AFA:\DATA.123
  405.  
  406.           Change output to parallel printer and spool to ramdisk.  (No data
  407.           spooled for printing.):
  408.              DMP /DD:/B
  409.  
  410.           Switch back to serial printer, leave spooling set to ramdisk:
  411.              DMP /SC1R1200WDSR
  412.  
  413.           You will probably need to read more details about these commands in
  414.        some cases, especially if you have a serial port printer with param-
  415.        eters other than those shown, if you have an 80286 (or later) CPU and
  416.        you want to use combinations of different types of memory, or if you
  417.        want to enter some complex character conversions.
  418.  
  419.  
  420.  
  421.  
  422.                                DMP 2.00 - page 6.
  423.  
  424.  
  425.  
  426.        FILE PRINT UTILITY - PF
  427.  
  428.           The utility program PF.COM is intended for printing disk files
  429.        directly, from the DOS prompt.  It is used by entering PF followed by
  430.        the names of the files to be printed.  PF accepts full DOS path spec-
  431.        ifications as well as the DOS wildcard specifiers * and ? for printing
  432.        groups of files.  PF is useful for printing files output by word
  433.        processors, compilers, data base programs, etc. that are in 'ready to
  434.        print' form, plus the "documentation on disk" that comes with many
  435.        programs.
  436.  
  437.           The PF program can also be used for later printing of files that
  438.        were generated by the "Print-to-disk" option.  PF does no conversion
  439.        itself, and may be used with or without DMP installed.  It's intent,
  440.        however, is to spool data for printing with DMP, then allow the
  441.        computer to be used for other purposes while the printing takes place.
  442.  
  443.           Please do not confuse this separate utility with the DMP command
  444.        "DMP /PF" for directing printer output to a disk file.
  445.  
  446.  
  447.        OUTPUT SELECTION
  448.  
  449.           The spooler output can be sent to a parallel port, a serial port,
  450.        or a disk file.  The next three sections tell you how.
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.                                DMP 2.00 - page 7.
  483.  
  484.  
  485.  
  486.        PRINTER CONNECTED TO A PARALLEL PORT.
  487.  
  488.        There are four parallel port selection commands:
  489.           DMP /B        BIOS designated printer (default)
  490.           DMP /B0       Printer output goes to port 0, 1 or 2.
  491.           DMP /B1
  492.           DMP /B2
  493.  
  494.        The ports are defined as:
  495.           Port #0 - I/O addresses 378-37F hex - The one on the motherboard or
  496.           on the 1st multi-function board (often).
  497.           Port #1 - I/O addresses 3B8-3BF hex - The one on a mono or mono-
  498.           graphics adaptor. The one on a multi-function board (sometimes).
  499.           Port #2 - I/O addresses 278-27F hex - The 2nd one on a multi-
  500.           function or other option board.
  501.  
  502.        The "/B" command can be entered at any time.  It has several important
  503.        effects:
  504.           -If serial port output was on, it is turned off.
  505.           -If Print-to-File was on, the file is closed.
  506.           -Character conversions are turned on in the last mode selected.
  507.  
  508.           A confirmation is displayed for the parallel port selected.  When
  509.        you save the configuration with the "/WCF" command, the parallel port
  510.        selection is saved with the rest of the parameters.
  511.  
  512.           This command is also useful for switching output between two
  513.        parallel printers.
  514.  
  515.           If you don't enter any "/B" command, or enter a "/B" command
  516.        without a number DMP checks for a printer port designation in the BIOS
  517.        data area.  Once a parallel port is selected, the "/B" command with no
  518.        number will cause output to go to the selected port.  Entering a
  519.        number after a "/B" will force printer output to the selected port
  520.        regardless of the BIOS information.
  521.  
  522.           See the discussion in the technical description section if you are
  523.        interested in more details about parallel ports.
  524.  
  525.  
  526.        PRINTER CONNECTED TO A SERIAL PORT.
  527.  
  528.        There are just two basic commands for a serial port: "DMP /SC1" and
  529.        "DMP /SC2" for ports COM1 and COM2.
  530.  
  531.           These commands can be followed by "R" or "W" commands to select the
  532.        bit rate and hardware handshake signal.  The full syntax for the "/SC"
  533.        command is:  "DMP /SCn [Rxxx] [Wyyy]".  The items in brackets are
  534.        optional.  Do not type the brackets.  'n' is the port number.  'xxx'
  535.        is the bit rate in bps, from 300 to 19200.  'yyy' is the handshake
  536.        signal to use, selected from CTS, DCD, DSR, or RI.  Control via
  537.        XOn/XOff is always enabled, in case the printer uses it.
  538.  
  539.  
  540.  
  541.  
  542.                                DMP 2.00 - page 8.
  543.  
  544.  
  545.  
  546.        This command may be entered at any time.  The effects are as follows:
  547.           -If parallel port output was on, it is turned off.
  548.           -If Print-to-File was on, the file is closed.
  549.           -Character conversions are turned on in the last mode selected.
  550.           -A confirmation is displayed for the port selected, bit rate,
  551.            handshake signal, and type of conversion now in effect.
  552.  
  553.           Note that the printer must NOT be redirected with the DOS 'MODE'
  554.        command or any other software.  Use the '/SC' or '/B' commands if you
  555.        want to switch between serial and parallel printers.
  556.  
  557.           The port number must be specified when the command is first
  558.        entered.  The rate and handshake signal default to 2400bps and CTS,
  559.        respectively.  Once the parameters have been selected, or loaded from
  560.        the configuration file, you can switch the serial port on with just
  561.        DMP /SC.   The previously selected parameters are used.
  562.  
  563.           The optional "R" parameter sets the bit rate.  Do not enter any "/"
  564.        or "[" between the port select and 'R'.  This parameter may be changed
  565.        after the serial printer has been selected.
  566.  
  567.           The optional 'W' parameter selects the serial port signal to be
  568.        used as the printer 'busy' signal.  The selected signal should be
  569.        connected to the printer output signal for stopping serial input.  The
  570.        signal designations and pin numbers for a 25-pin (PC/XT) and 9-pin
  571.        (AT) connectors are as follows:
  572.  
  573.           Computer connector:        25pin          9pin
  574.           CTS - Clear to send  -     pin 5          pin 8
  575.           DCD - Carrier detect -     pin 8          pin 1
  576.           DSR - Data set ready -     pin 6          pin 6
  577.           RI  - Ring indicator -     pin 22         pin 9
  578.  
  579.           DMP also includes pacing via 'XOn/XOff' from the printer.  This
  580.        function cannot be disabled.  If the printer does not use it, this
  581.        will have no effect.  If the printer does send 'XOff' characters to
  582.        control output, a hardware pacing signal may still be selected.  The
  583.        hardware signal should be disabled on the connector (either end) if it
  584.        is desired to use only the 'XOn/XOff' control.  If the output to the
  585.        printer is stopped by 'XOff', it will restart when the printer sends
  586.        an 'XOn'.  DMP also times out the XOff status to allow for some
  587.        printers that do not properly restart transmission with 'XOn'.
  588.  
  589.        Examples:
  590.           Select COM1, 2400bps, 8data, no parity, 1 stop bit, CTS handshake:
  591.             DMP /SC1 R2400 WCTS
  592.           Select COM2, DCD handshake.  Other parameters as is:
  593.             DMP /SC2WDCD
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.                                DMP 2.00 - page 9.
  603.  
  604.  
  605.  
  606.        PRINTER OUTPUT REDIRECTED TO A DISK FILE.
  607.  
  608.        The three commands for sending printer output to a disk file are:
  609.           DMP /PFfilespec,
  610.           DMP /AFfilespec, and
  611.           DMP /OFfilespec
  612.  
  613.           The command names stand for "Print File", "Append File" and
  614.        "Overwrite File".  If the given file does not exist, all three will
  615.        operate identically.  The file will be created and subsequent printer
  616.        output will go to the file.
  617.  
  618.           If the file already exists, the commands operate as follows.  The
  619.        "/PF..." command will find the file, and ask if you want to append,
  620.        overwrite or cancel the command.  The "/AF" and "/OF" commands will
  621.        append or overwrite the file without asking.  A confirmation message
  622.        is displayed.
  623.  
  624.           This command allows only two possibilities for specifying the
  625.        filename.  The first is a filename only, with no drive or directory
  626.        specifiers, such as "OUTPUT.PTR".  This causes the file to be created
  627.        (or appended to) in the drive/directory that is current when the
  628.        command is entered.  The second method is full path and filename,
  629.        starting from the root directory of any DOS recognized drive, like
  630.        "A:\DOC.TXT".  Note that the backslash must be used to specify the
  631.        root directory of a drive (unless it is the current directory).
  632.        A:\DOS.TXT is correct.  A:DOC.TXT is NOT correct and will generate an
  633.        error message.
  634.  
  635.           The file that is being printed to does not have to be on the same
  636.        disk that is used for the spool files while printing to the printer.
  637.  
  638.           Character conversions are turned off while printing to a disk file.
  639.  
  640.           This command is cancelled by the "/B" or "/SC" commands to direct
  641.        output back to the serial or parallel printer.  It may also be
  642.        cancelled by '/PF-'.  This will cause printer output to go back to the
  643.        printer port that was in use before the Print-to-disk function was
  644.        started.
  645.  
  646.           If the "Print-to-disk" function is enabled while there is data
  647.        spooled to be printed, the spooled data will continue to print until
  648.        it is finished or the spooler is aborted by command.  Any additional
  649.        data that is sent from a running program or from DOS to the printer
  650.        after "Print-to-disk" is started will go to the disk file.
  651.  
  652.           Please do not confuse this command with the separate utility "PF".
  653.        This command is for sending printer data to a disk file.  The PF
  654.        utility is for sending an existing file to the printer.
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.                               DMP 2.00 - page 10.
  663.  
  664.  
  665.  
  666.        Print-to-file examples:
  667.           DMP /PFC:\DOCS\PRINTOUT.TXT   -  Printer output goes to file
  668.           "printout.txt" in directory "docs" on drive C until cancelled.
  669.  
  670.           DMP /OFPRTEXT   -  Printer output goes to file "prtext" in the
  671.           current directory. If the file exists it is erased and re-written.
  672.  
  673.           DMP /B   -  If printer output had been set to a file, it is
  674.           directed to the parallel port. The file is closed.
  675.  
  676.  
  677.        MEMORY AND DISK SPOOLING
  678.  
  679.        The memory spooling commands are:
  680.           DMP /MX:nn to set the internal buffer size,
  681.           DMP /MXP for expanded memory,
  682.           DMP /MXT [xxx] [yyy] for extended memory,
  683.           DMP /MXAll [xxx] [yyy] for both, and
  684.           DMP /MXNone to stop using memory buffers after they had been
  685.           enabled.
  686.  
  687.        The memory spooling parameters can also be set by using the DOS
  688.        environment variable if desired.  This is discussed in the section on
  689.        environment variables.
  690.  
  691.        The disk spooling command is:
  692.           DMP /Dx:  where x is the DOS disk to be used for spooling.
  693.  
  694.           The disk spooling command also responds to the "/Dx:nn" command to
  695.        set the internal buffer size.  This was included for compatibility
  696.        with earlier versions of DMP.  The preferred method is to use the
  697.        "/MX:nn" command, since it permits you to change the buffer size
  698.        without specifying a disk.
  699.  
  700.           The memory diagram on the next page should help clarify some of the
  701.        terms in the command descriptions.
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.                               DMP 2.00 - page 11.
  723.  
  724.  
  725.            +-----------------------------------------------------+
  726.            | ** Expanded memory ( up to 8 MB )                   |
  727.            +-----------------------------------------------------+
  728.        
  729.        
  730.            |                     Top of Memory on 80286 +        | Up to 16MB
  731.            |                                                     |
  732.            |     **                                              |
  733.            |.....................................................|
  734.            |     **                                              |
  735.            |                                                     |
  736.            |     Possible XMM Extended Memory Block              |
  737.            |.....................................................|
  738.            |.....................................................|
  739.            |                                                     |
  740.            |                                                     |
  741.            |                                                     |
  742.            |     Possible configurable Ramdisk begin.            |
  743.            |-----------------------------------------------------| 1088K
  744.            |     **                                              |
  745.            |                The High Memory Area  (HMA)          |
  746.            |                                                     |
  747.            |                                    | /\       /\    |
  748.            | Begin extended mem. Possible VDISK | 80286 + only   |
  749.            |====================================================|1024K or 1MB
  750.            | End reserved area.       Top of mem on 8088 PCs     |
  751.            |         System Bios                                 |
  752.            |     ................................................|
  753.            |     ................................................|
  754.            |         Network adaptor firmware                    |
  755.            |     ................................................|
  756.            |     ................................................|
  757.            |         Disk adaptor firmware                       |
  758.            |     ................................................|
  759.            |     ................................................|
  760.            |         EMS page frame                              |
  761.            |     ................................................|
  762.            |     ................................................|
  763.            |         Video adaptor display mem & firmware        |
  764.            |     ................................................|
  765.            | Begin reserved area.                                |
  766.            |-----------------------------------------------------| 640K
  767.            |                                                     |
  768.            |                                                     |
  769.            |                                                     |
  770.            |           Conventional or DOS Memory                |
  771.            |                                                     |
  772.            |                                                     |
  773.            |                                                     |
  774.            |.....................................................|
  775.            | Interrupt vectors, Bios data, Dos, Tsr's, etc.      |
  776.            +-----------------------------------------------------+ 0K
  777.  
  778.           Figure 1.  Simplified memory diagram.
  779.           The ares marked with ** can be used for spooling.
  780.  
  781.  
  782.                               DMP 2.00 - page 12.
  783.  
  784.  
  785.  
  786.        CHANGING THE INTERNAL BUFFER SIZE
  787.  
  788.           The default internal buffer size is 6K bytes.  You can change it,
  789.        during installation of the program only, with the "DMP /MX:nn"
  790.        command.  'nn' is the size to use in Kbytes (1024 byte chunks), and
  791.        must be one of the following numbers:
  792.        4, 8, 12, 16, 24, 32, or 40.
  793.  
  794.           It is normally not necessary to change the buffer size.  A larger
  795.        buffer may help if you do not have any expanded or extended memory to
  796.        use for spooling, and you must use a physical disk (not a ramdisk).
  797.        There is almost no effect on performance of the spooler when using
  798.        memory buffers.  The larger buffer will of course cause more DOS
  799.        memory to be used by the spooler.
  800.  
  801.  
  802.        SPOOLING TO EXPANDED MEMORY
  803.  
  804.           Simply install the program with "DMP /MXP".  DMP will verify the
  805.        presence of an EMM manager with at least 64K available for spooling.
  806.        The EMS memory use and amount available are shown on the summary
  807.        display.  The memory is allocated thru the EMM manager when needed,
  808.        and released when done.  None is reserved permanently.
  809.  
  810.           -- Example --
  811.  
  812.        In CONFIG.SYS:
  813.        ...
  814.        DEVICE = EMM.SYS    (name of your EMM manager)
  815.        ...
  816.  
  817.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  818.        DMP /MXP /other options as desired.
  819.  
  820.           Expanded memory is memory that is "bank switched" in and out of the
  821.        PC's address space as needed.  This type of memory can be added to any
  822.        type of DOS computer, including 8088 based PCs.  An EMM driver is a
  823.        program that manages expanded memory.  This program is usually
  824.        supplied when you buy an expanded memory board.
  825.  
  826.           DMP will work with an EMM manager supporting LIM 3.20 or later.
  827.        Use of expanded memory can be turned on at any time with "DMP /MXP",
  828.        and stopped at any time with "DMP /MXNone".  If the memory is being
  829.        used by the spooler when it is turned off, the data will continue to
  830.        print until finished, but no new data will be added to EMM memory.
  831.  
  832.           Expanded memory is supported by many commercial programs via the
  833.        EMM driver.  It is a good place for spooling because it can be
  834.        accessed quickly, and it is allocated and de-allocated as needed,
  835.        allowing maximum use of the memory.
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.                               DMP 2.00 - page 13.
  843.  
  844.  
  845.  
  846.        SPOOLING TO EXTENDED MEMORY
  847.  
  848.           Extended memory is memory above the 1 MB address range.  It is
  849.        available only on 80286 or later CPUs, which are capable of addressing
  850.        memory in this range.  Under DOS, the only standard use of this memory
  851.        is for a ramdisk.  Some commercial programs support it, but very few
  852.        compared to those that support expanded memory.
  853.  
  854.           There are also some driver programs available that simulate
  855.        extended memory with expanded memory.  A reason for doing this would
  856.        be to put the memory in one larger piece for use by a ramdisk or other
  857.        program.  DMP is compatible with such programs, since DMP uses the
  858.        system Bios or the XMM driver to access extended memory.  The sim-
  859.        ulator program goes "below" DMP and the XMM driver.
  860.  
  861.  
  862.        EXTENDED MEMORY - NO XMM DRIVER.
  863.  
  864.        Install the program with "DMP /MXT [xxx] [yyy]".
  865.        [xxx] is the maximum amount of memory that the spooler is allowed to
  866.        use.  [yyy] is the start address ABOVE 1MB.  Do not type the brackets.
  867.        Both xxx and yyy represent numbers in Kbytes.
  868.  
  869.           If no parameters are specified DMP will use all memory as reported
  870.        by the Bios.  If the first parameter is zero or is greater than the
  871.        amount available, DMP will use the amount available.
  872.  
  873.           This format is intended to be compatible with the VDISK program, or
  874.        to allow all extended memory to be used for spooling (no ramdisk).
  875.  
  876.           -- Example --
  877.  
  878.        You have an 80286 machine with 2 MB total memory, all conventional.
  879.        You would like to use 640K for DOS, 1MB for ramdisk, 384K for
  880.        spooling.
  881.  
  882.        In CONFIG.SYS:
  883.        ...
  884.        DEVICE = VDISK.SYS 1024 512 128 /E
  885.        ...
  886.  
  887.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  888.        DMP /MXT 384 1024 / other options as desired.
  889.  
  890.           The most important point in this example is that the spooler is
  891.        told to start at 1024K above 1MB - which is where the VDISK stops.
  892.        The first parameter to DMP (384 in the example) could have been a
  893.        zero, or a number greater than 384 to acheive the same result.
  894.  
  895.           Use of extended memory can be turned on at any time with
  896.        "DMP /MXT", and stopped at any time with "DMP /MXNone".  If the memory
  897.        is being used by the spooler when it is turned off, the data will
  898.        continue to print until finished, but no new data will be added to
  899.        extended memory.  You can only change the amount and start parameters
  900.  
  901.  
  902.                               DMP 2.00 - page 14.
  903.  
  904.  
  905.  
  906.        by using "DMP /MXNone"  when no data is spooled, then re-starting with
  907.        a new "DMP /MXT"  command.
  908.  
  909.           The VDISK program supplied with DOS simulates a disk drive in
  910.        extended memory.  VDISK always starts from the 1 Mb address and uses
  911.        as much as you tell it to.  Some other ramdisks are available that can
  912.        use selectable portions of extended memory with higher start
  913.        addresses.  DMP is selectable.  To use extended memory for both a
  914.        ramdisk and DMP, you must command the two programs to use different
  915.        portions of memory.
  916.  
  917.           Unlike expanded memory, there is no 'standard' for interfacing with
  918.        a ramdisk in extended memory. The spooler and ramdisk will have no way
  919.        of knowing that the other one is present, so you must inform both of
  920.        them correctly with commands.
  921.  
  922.  
  923.        EXTENDED MEMORY WITH THE XMM DRIVER
  924.           -the XMBLOCK program.
  925.  
  926.           Install the program with "DMP /MXT".  The command is the same as
  927.        for conventional extended, without numbers.  Any parameters after the
  928.        command are ignored if the XMM driver is found.
  929.  
  930.           If the HMA is available, DMP will use it and report it on the
  931.        summary.  The HMA is permanently reserved for spooling if it is found.
  932.        Other extended memory being managed by the driver is allocated as
  933.        needed and released when done.  The XMM driver and HMA memory are
  934.        discussed below.
  935.  
  936.           -- Example --
  937.  
  938.        In CONFIG.SYS:
  939.        ...
  940.        DEVICE = HIMEM.SYS    (or other XMM manager)
  941.        ...
  942.  
  943.        In AUTOEXEC.BAT, or enter from the DOS prompt:
  944.        DMP /MXT /other options as desired.
  945.  
  946.           An XMM driver is a program that attempts to manage extended memory
  947.        in a similar fashion to that specified in the LIM standard for
  948.        expanded memory.  DMP is compatible with the published specification
  949.        called XMS from Microsoft.  The free (copyrighted) Microsoft driver
  950.        program called HIMEM.SYS is available on many BBS systems for anyone
  951.        with a 80286 CPU who would like to use it.
  952.  
  953.           Note that XMM drivers are not compatible with VDISK, and will
  954.        refuse to load if VDISK is installed.  They can be made compatible
  955.        with some other ramdisks by using the XMBLOCK program supplied with
  956.        DMP.  This is only possible with ramdisks that can be commanded to
  957.        start above the HMA memory.
  958.  
  959.  
  960.  
  961.  
  962.                               DMP 2.00 - page 15.
  963.  
  964.  
  965.  
  966.           The 'proper' way to use extended memory for a ramdisk would be to
  967.        have the ramdisk program allocate what it needs through the XMM
  968.        driver.  Unfortunately, there are no ramdisks that work with the XMM
  969.        driver as of this writing, since the specification is new.  The
  970.        XMBLOCK program allows you to block off memory that has already been
  971.        taken by a ramdisk, without the XMM driver's knowledge.  The remainder
  972.        of extended memory can then be managed by the XMM driver.  XMBLOCK is
  973.        not a resident program - it uses no memory itself.
  974.  
  975.  
  976.        HMA MEMORY SPOOLING
  977.  
  978.           The XMM specification and XMM drivers support a 'trick' memory area
  979.        on 80286 and 80386 processors called the HMA - High Memory Area.  This
  980.        is shown on the diagram in figure 1.
  981.  
  982.           DMP can use the HMA for spooling, but only through the XMM driver.
  983.        If the driver is present and reports the HMA available, it will be
  984.        used for spooling.  The size of this area is 65520 bytes (64K - 16),
  985.        and it can be accessed quickly, so it is a good candidate for spooling
  986.        if you have no preferred use for it.
  987.  
  988.           The HMA does not add anything to your available extended memory,
  989.        but it does allow access to it in a different way that is faster than
  990.        the standard method.
  991.  
  992.  
  993.        SPOOLING TO DISK
  994.  
  995.           Select a disk drive for spooling with "DMP /Dx:" where x is the
  996.        drive to be used for spooling.  You need the colon.
  997.  
  998.           A disk drive may be selected when DMP is first installed or any
  999.        time later.  The drive can be changed if there are no spool files
  1000.        active.  The command will work if there is data in the memory buffers,
  1001.        as long as nothing is spooled to the disk.
  1002.  
  1003.           You can stop disk spooling at any time with "DMP /DNONE".  Any data
  1004.        that is spooled to disk when this command is entered will continue to
  1005.        print, but no new data will be added to the disk.
  1006.  
  1007.           DMP is compatible with any disk recognized by DOS.  A ramdisk is a
  1008.        very good candidate for spooling because of it's speed.  The time
  1009.        taken by the spooler will usually not be noticeable with a ramdisk.  A
  1010.        hard disk is convenient for large print files.  A floppy or any
  1011.        removable disk is NOT recommended, as removing the diskette while the
  1012.        spooler is operating can cause the system to crash.  Also, the I/O is
  1013.        very slow and will use noticeable portions of computer time while
  1014.        printing.
  1015.  
  1016.           DMP will create disk files with filenames $PSPOOL.nnn, where 'nnn'
  1017.        ranges from '000' to '999'.  The files may vary in size from 4K up to
  1018.        32K bytes each if a lot of information is spooled.  The files are
  1019.  
  1020.  
  1021.  
  1022.                               DMP 2.00 - page 16.
  1023.  
  1024.  
  1025.  
  1026.        written as printer output is generated, then read and deleted when the
  1027.        information is printed.
  1028.  
  1029.           The spool files are written to the 'root' directory of the
  1030.        designated drive.  Subdirectories on a hard disk can be used via the
  1031.        DOS 'SUBST' command.  No filenames should be used on the system which
  1032.        match the program's format.  The files are not marked as 'hidden' or
  1033.        'system', so they will show up in directory listings made while the
  1034.        spooler is running.  If the system is stopped or rebooted while the
  1035.        spooler is running, extra files will be left on the disk.  This will
  1036.        not interfere with the operation of the spooler when it is reloaded,
  1037.        but the files should be deleted to free up the disk space.
  1038.  
  1039.  
  1040.        COMBINATION MEMORY AND DISK SPOOLING
  1041.         - MORE EXAMPLES
  1042.  
  1043.           Disk spooling can be done with extended and/ or expanded memory
  1044.        spooling in any combination by the appropriate commands as shown
  1045.        above.  If all types of spooling are enabled, DMP will use them in the
  1046.        following order:
  1047.           1. Internal buffers (6K bytes).
  1048.           2. HMA memory.
  1049.           3. Expanded memory.
  1050.           4. Extended memory via XMM driver if present, or via Bios if not.
  1051.           5. Disk.
  1052.  
  1053.           There are two basic advantages to using expanded or extended memory
  1054.        for spooling instead of a disk.
  1055.           1. Access is faster, so less CPU time is used by the spooler and
  1056.             the printer still runs full speed.
  1057.           2. It does not have any contention problems like DOS has when using
  1058.             it for disk access.  The Bios and both types of memory driver
  1059.             programs can be called by the spooler without fear of 'running
  1060.             into' your application software (spreadsheet, word processor,
  1061.             etc.).
  1062.  
  1063.           The disadvantage is that memory being used for spooling is of
  1064.        course unavailable for any other programs.  DMP allows you to make the
  1065.        tradeoff as you desire.
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.                               DMP 2.00 - page 17.
  1083.  
  1084.  
  1085.  
  1086.        Example 1:  XMM driver with ramdisk & spooler
  1087.        This is based on an 80286 computer with 2MB total memory. The XMM
  1088.        driver is available.  Desired memory use is 640K for DOS, 896K for
  1089.        ramdisk, 512K for the spooler.  In addition, the spooler will be
  1090.        allowed to use the ramdisk if it fills the rest of memory.
  1091.  
  1092.        In CONFIG.SYS:
  1093.        ...
  1094.        DEVICE = HIMEM.SYS    (Name of XMM driver)
  1095.        DEVICE = FASTDISK.SYS /M=896 /EXTM=0,1088
  1096.                  (Name of ramdisk, with commands)
  1097.        ...
  1098.  
  1099.        In AUTOEXEC.BAT:
  1100.        ...
  1101.        XMBLOCK 896         (block off ramdisk portion)
  1102.        DMP /MXT /DE:       (spooler uses XMM driver and ramdisk E:)
  1103.        ...
  1104.  
  1105.        In this example, the ramdisk program is commanded to start above the
  1106.        HMA memory, and use 896K bytes.  Use commands needed for your ramdisk.
  1107.        The memory used by the ramdisk is then blocked off by XMBLOCK so the
  1108.        driver will not allow it to be allocated.  DMP then discovers the
  1109.        driver available with 448K bytes that can be used when needed for
  1110.        spooling, plus the HMA with 64K bytes.
  1111.  
  1112.  
  1113.        Example 2:  Expanded and extended with simulator
  1114.        The hypothetical configuration is an 80286 cpu with 1MB of memory on
  1115.        the motherboard plus an expanded memory board with 1.5MB.  The XMM
  1116.        driver is not used. Desired memory use is 640K for DOS,  1MB ramdisk,
  1117.        remainder of expanded memory for applications and spooling as needed.
  1118.  
  1119.        In CONFIG.SYS:
  1120.        ...
  1121.        DEVICE = EMS32.SYS /options             (name of EMM driver)
  1122.        DEVICE = REX.SYS 768                    (name of simulator)
  1123.        DEVICE = VDISK.SYS 1O24 512 128         (install ramdisk)
  1124.        ...
  1125.  
  1126.        In AUTOEXEC.BAT:
  1127.        DMP /MXP
  1128.  
  1129.        The EMM driver is installed, the simulator is told to take 768K of
  1130.        expanded memory and use it as extended memory, and the ramdisk is told
  1131.        to use all the extended memory (384K + 768K).  DMP then finds the
  1132.        expanded memory available to be 896K bytes, and will share it with
  1133.        application programs as needed.
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.                               DMP 2.00 - page 18.
  1143.  
  1144.  
  1145.  
  1146.        DRIVER CONTROL COMMANDS AND OPTIONS
  1147.  
  1148.           The type of output that is spooled and printed is controlled by the
  1149.        following commands.
  1150.        Graphics/binary mode on/off:
  1151.           DMP /G+  or  DMP /G-
  1152.        Send/don't send auto line-feeds:
  1153.           DMP /L+  or  DMP /L-
  1154.        Printer has/doesn't have auto line feed:
  1155.           DMP /A+  or  DMP /A-
  1156.        Allow/don't allow line-feeds from application:
  1157.           DMP /U+  or  DMP /U-
  1158.        Printer has/doesn't have form-feed function:
  1159.           DMP /F+  or  DMP /F-
  1160.        Physical page length is 'nn':
  1161.           DMP /Pnn
  1162.        Lines of text before auto form-feed:
  1163.           DMP /Vnn
  1164.        Set left margin to 'x' spaces:
  1165.           DMP /Mx
  1166.        Tab expansion on/off:
  1167.           DMP /T+  or  DMP /T-
  1168.        Reset or clear all tab stops:
  1169.           DMP /TR  or  DMP /TC
  1170.        Set/clear tab stops at 'aa'/'bb':
  1171.           DMP /Taa+,bb-
  1172.        Jam literal character string to printer:
  1173.           DMP /C<char string>
  1174.        Convert an escape sequence:
  1175.           DMP /E<char string>=<char string>
  1176.        Convert a control character or group of hi-bit characters:
  1177.           DMP /Xnn=<char string>
  1178.        Show character conversions in effect:
  1179.           DMP /LIS
  1180.  
  1181.        The descriptions for all these commands follow.
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.                               DMP 2.00 - page 19.
  1203.  
  1204.  
  1205.  
  1206.        PRINTER CONTROL
  1207.  
  1208.        DMP /G+ and DMP /G- commands:
  1209.           Graphics/binary print mode on/off.
  1210.  
  1211.        The "/G+" command turns off all character conversions.  It will also
  1212.        speed up the output to a parallel port.  The "/G-" command restores
  1213.        character conversions to their previous state.
  1214.  
  1215.           This command is useful to allow bit image graphics printing for
  1216.        dot-matrix printers after some character conversion options have been
  1217.        selected.  The options can later be re-enabled with "/G-".
  1218.  
  1219.           This command is also useful for speeding up output to the printer
  1220.        for graphics or any other type of printing.  The faster printing may
  1221.        cause some slowdown in computer response, or possibly some lost
  1222.        characters on some printers when printing normal text.  The only
  1223.        recommendation that can be given for this command is to experiment
  1224.        with your printer.
  1225.  
  1226.  
  1227.        DMP /L+ and DMP /L- commands:
  1228.           Instruct DMP to send, or stop sending, line feeds to the printer
  1229.           after each carriage return.
  1230.  
  1231.        '/L+' causes line feeds to be added, '/L-' removes the effect of'/L+'.
  1232.        This can be used to force double spacing or in conjunction with a
  1233.        print program that does not send line feeds, causing a "black bar" to
  1234.        be printed on one line.  It is usually not needed.
  1235.  
  1236.           Line feeds are not added in graphics '/G+' mode.
  1237.  
  1238.  
  1239.        DMP /A+ and DMP /A- commands:
  1240.           Inform program whether printer has auto line-feed.
  1241.  
  1242.        The "/A"  option does not change the character conversion functions,
  1243.        but allows DMP to count the number of lines that the paper has
  1244.        advanced in order to generate the form feed function.  The program
  1245.        should always be properly set to match the printer's operation.  If
  1246.        the printer does have automatic line feed, the preferable choice is to
  1247.        disable this function on the printer.  If it isn't or can't be
  1248.        disabled, add the '/A+' command when DMP is installed.  The '/A-'
  1249.        command resets to the default state.
  1250.  
  1251.  
  1252.        DMP /U+ and DMP /U- commands:
  1253.           Allow or suppress line feeds after carriage returns.
  1254.  
  1255.        This command refers to characters which are being sent from an
  1256.        application program to the printer.  '/U-' inhibits line feeds after
  1257.        carriage returns;  '/U+' reverts to default state.  It can sometimes
  1258.        be used to force single-spacing when the program is printing double-
  1259.        spaced.  It can also be used together with /A and /L to force a
  1260.  
  1261.  
  1262.                               DMP 2.00 - page 20.
  1263.  
  1264.  
  1265.  
  1266.        consistent print format from a variety of programs which use different
  1267.        line spacings.
  1268.  
  1269.           Line feeds are not inhibited in graphics '/G+' mode.
  1270.  
  1271.  
  1272.        DMP /F+ and DMP /F- commands:
  1273.           Inform DMP whether the printer has form-feed capability.
  1274.  
  1275.         '/F+' (default state) tells DMP to pass form feeds to the printer,
  1276.        and to use form feeds when needed.  '/F-' causes the form feed
  1277.        function to be simulated by adding line feeds to the end of the
  1278.        physical page length set by the '/P' option.  The program should be
  1279.        set to match the printer.
  1280.  
  1281.           Form feed characters are not converted in graphics '/G+' mode.
  1282.  
  1283.  
  1284.        DMP /Pnn command:
  1285.           Set physical page length.
  1286.           'nn'=number of lines per page, 5 to 99.
  1287.  
  1288.        This command informs DMP of the number of lines (printer line feeds)
  1289.        on a page.  66 lines corresponds to 6 lines per inch, 11 inch paper.
  1290.        The program should be correctly informed if the page length is
  1291.        different.  This number is used by the program for the form feed
  1292.        function and the 'skip perforation' function.  See the '/V' command
  1293.        below.  The page length might be changed for graphics mode or an
  1294.        unusual page layout.
  1295.  
  1296.           Entering this command with no numbers will cause the program to
  1297.        display the current setting. Entering this command at any time causes
  1298.        the program to be set to 'top of form', with nothing sent to the
  1299.        printer.
  1300.  
  1301.  
  1302.        DMP /Vnn command:
  1303.           Set text length - number of lines to print per page.
  1304.  
  1305.        This command is used in conjunction with '/P', above, to tell the
  1306.        program when to advance to the next page during continuous printing.
  1307.        In the default state, the printer will not skip lines for the perfor-
  1308.        ation, since the text length is set longer than the physical page
  1309.        length.  To enable this function, set the text length to one or more
  1310.        lines less than the page length with this command.
  1311.  
  1312.           Entering this command with no numbers will cause the program to
  1313.        display the current setting. Entering this command at any time causes
  1314.        the program to be set to 'top of form', with nothing sent to the
  1315.        printer.
  1316.  
  1317.           No perforation skip or automatic form feed functions take place
  1318.        when the driver is in graphics '/G+' mode, regardless of the settings
  1319.        for page and text length.
  1320.  
  1321.  
  1322.                               DMP 2.00 - page 21.
  1323.  
  1324.  
  1325.  
  1326.        Example:  DMP /P84/V85
  1327.           -Set printer to 84 lines per page (14 inch paper). Disable 'skip
  1328.           perforation' function.
  1329.  
  1330.  
  1331.        DMP /Mx command:
  1332.           Set left margin.
  1333.           x is a decimal number from 0 to 99.
  1334.  
  1335.           This command allows a left margin or indent to be added to
  1336.        printouts.  The number of spaces entered as 'x' will be added to each
  1337.        line.  "DMP /M0"  removes the margin.  No left margin is added in
  1338.        graphics '/G+' mode.
  1339.  
  1340.           If any left margin has been selected it will be shown on the
  1341.        summary display.
  1342.  
  1343.  
  1344.        DMP /T+  and  DMP /T- commands:
  1345.           Tab expansion function ON/OFF.  The defaults are tab stops at every
  1346.           8 positions, expansion off.
  1347.  
  1348.           /T+ enables tab expansion, /T- disables it.  Any tab characters
  1349.        received will advance the print position to the next tab stop set.
  1350.        Refer to the other '/T' commands below for setting tab stops.  Tab
  1351.        expansion should be disabled if the printer includes tab stops and you
  1352.        want to use this feature.  Since DOS and most word processors include
  1353.        tab expansion, this feature will not usually be needed.  It is useful
  1354.        when copying disk files which include tabs directly to the printer, or
  1355.        if you want to set your own custom tab stops.
  1356.  
  1357.           No tab expansion occurs in graphics '/G+' mode.
  1358.  
  1359.  
  1360.        DMP /TR  command:
  1361.           Reset tab stops to every 8 positions.  Removes any tab stops set by
  1362.           other '/T' commands.  Sets a tab stop at every 8 positions.
  1363.  
  1364.  
  1365.        DMP /TC command:
  1366.           Clear all tab stops.
  1367.           Useful before resetting tabs to a new format.
  1368.  
  1369.  
  1370.        DMP /Taa+,bb+,...  or  DMP /Txx-,yy-,... commands:
  1371.            Add or remove tab stops at column positions.
  1372.           'aa','bb',...=column numbers to add tab stops.
  1373.           'xx','yy',...=column numbers to clear tab stops.
  1374.  
  1375.           The column numbers followed by '+' or '-' may be intermixed to set
  1376.        up a complete tab format.
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.                               DMP 2.00 - page 22.
  1383.  
  1384.  
  1385.  
  1386.        Example:
  1387.           DMP /TR/T+/T41-,43+,57-,64+,65-,69+,73-,75+,81-,82+
  1388.           (Enter this entire command on one line.)
  1389.           Resets tabs to every 8 columns, i.e. columns 9,17,25,..., enables
  1390.           tab expansion, then clears tab stops from columns 41, 57, 65, 73,
  1391.           81 and adds tab stops at columns 43, 64, 69, 75, 82.
  1392.  
  1393.  
  1394.        CHARACTER STRINGS IN COMMANDS
  1395.  
  1396.        The next 4 commands require entry of character strings for output or
  1397.        conversion.  This is shown as: <char string>.
  1398.  
  1399.        A character string may be entered on the command line as either a
  1400.        quoted string, like: "Abc" or a series of decimal numbers like:
  1401.        65,98,99.  If more than one of these is needed, separate them by
  1402.        commas.  5 examples of valid strings are:
  1403.  
  1404.            "XYZ"     13,10     27,"W",65,66     "Test"     "abc",13,10
  1405.  
  1406.  
  1407.        DMP /C<char string> command:
  1408.           Send character or control code string to printer.  See the
  1409.           description of character strings above.
  1410.  
  1411.        This command jams characters directly to the printer, at the output of
  1412.        the spooler.  It is useful for resetting the printer to a desired
  1413.        state on startup, or for changing pitch, etc., especially from a batch
  1414.        file.  Refer to your printer manual for codes needed.  This command
  1415.        sends characters to a printer only, not to a disk file.
  1416.  
  1417.        Example:   DMP /C27,"U"
  1418.           -Send 'Esc,U' to printer.
  1419.  
  1420.  
  1421.        CHARACTER CONVERSIONS
  1422.  
  1423.        DMP /E<char string> = <char string>,  or
  1424.        DMP /E<char string>-,or
  1425.        DMP /E<char string>+  commands:
  1426.           Convert or inhibit an 'escape' sequence.  Remove conversion or
  1427.           inhibit for a sequence.  See the description of character strings
  1428.           above.
  1429.  
  1430.        These commands allow conversion of control sequences beginning with
  1431.        the 'Escape' character (ASCII 27, Hex 1B).  If a number of these
  1432.        conversions are set up, the control sequences for one printer can be
  1433.        substituted for another.
  1434.  
  1435.           The first syntax causes the sequence on the left of the '=' to be
  1436.        replaced by the one on the right of the '=' before being sent to the
  1437.        printer. The '-' (minus) option inhibits the escape sequence from
  1438.        being sent to the printer.  The '+' (plus) option removes previous
  1439.        conversions or inhibits for this sequence.
  1440.  
  1441.  
  1442.                               DMP 2.00 - page 23.
  1443.  
  1444.  
  1445.  
  1446.           The limitations are as follows: A total of 64 sequences may be
  1447.        converted or inhibited at one time.  Each sequence may consist of up
  1448.        to 20 characters for both the input and output strings.  (40 char-
  1449.        acters total.)  The total number of characters in all conversion
  1450.        sequences is limited to 512. Sequence conversion is not recursive.
  1451.        The converted sequences are sent directly to the printer without
  1452.        passing through the converter again.
  1453.  
  1454.           The escape character is implied in the command.  Do not include it
  1455.        after the '/E'.  The escape character is NOT implied in the 'to'
  1456.        sequence.  Escape sequences may be replaced by any other sequence.
  1457.  
  1458.           No escape sequence conversions take place in graphics '/G+' mode.
  1459.  
  1460.        Example:  DMP /E"W"=27,"E" /E"&"=27,"F"
  1461.           Convert the sequences 'EscW' and 'Esc&' to 'EscE' and 'EscF'.  This
  1462.           would convert the Diablo 630 bold on/off functions to the cor-
  1463.           responding Epson functions.
  1464.  
  1465.  
  1466.        DMP /Xnn=<char string>, or
  1467.        DMP /Xnn=-  or  DMP /Xnn=+  commands:
  1468.           Convert or inhibit a control character.  Remove inhibit from a
  1469.           control character.
  1470.           'nn'=decimal code for the character to be converted.  See the
  1471.              description of character strings above.
  1472.           'nn=-' inhibits this character from being sent to the printer.
  1473.           'nn=+' removes previous conversion or inhibit for this character.
  1474.  
  1475.           Control characters can be converted or blocked from being sent to
  1476.        the printer with these commands.  Valid control characters for this
  1477.        command  are ASCII codes 0 thru 31, except Tab(09), CR(13), LF(10),
  1478.        FF(12), and Escape(27).
  1479.  
  1480.           The single control character is replaced by the string before being
  1481.        sent to the printer, or it is blocked from being sent.
  1482.  
  1483.           This function can be used for a limited amount of conversion of
  1484.        commands for one printer to commands for another, or to block printer
  1485.        commands from a word processor or other program that refuses to
  1486.        cooperate.
  1487.  
  1488.           Any conversions remain in effect when printer output is redirected
  1489.        between serial and parallel printers.  No conversions or character
  1490.        inhibits take place in graphics '/G+' mode.
  1491.  
  1492.        Examples:
  1493.           DMP /X15="x"   Convert ^O to lower case 'X'.
  1494.           DMP /X23=-   Prevent ^U from being sent to the printer.
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.                               DMP 2.00 - page 24.
  1503.  
  1504.  
  1505.  
  1506.        DMP /Xnnn=<char string> command:
  1507.           Convert a Hi-bit Ascii character or group of characters by entering
  1508.           data in the conversion table.  'nnn'=decimal code for a hi-bit
  1509.           character.  See the description of character strings above.
  1510.  
  1511.           The character string of one or more characters is entered in the
  1512.        conversion table starting at the specified character 'nn'.
  1513.  
  1514.           Hi-bit ASCII characters are those with codes greater than 127.  For
  1515.        these characters, each one is replaced by one character from a
  1516.        conversion table before being printed.  The startup state of the table
  1517.        maps each character to itself, so no conversions take place unless you
  1518.        enter them.  A group of conversion table entries is entered with this
  1519.        command by specifying the starting character, 'nnn' in the above
  1520.        syntax, then entering the character string.
  1521.  
  1522.           Although the syntax is the same for control characters (above) and
  1523.        hi-bit characters, the commands are interpreted differently.  No hi-
  1524.        bit character conversions will take place in graphics '/G+' mode.
  1525.  
  1526.           The hi-bit conversions can be used to make your printer display the
  1527.        IBM box-drawing characters, math symbols, etc. that show on the
  1528.        display, if the printer uses a different set of characters.
  1529.  
  1530.           If you enter any hi-bit conversions into the table with this
  1531.        command, it is a very good idea to save the configuration with the
  1532.        "/WCF" command so you won't have to enter them again.  See the
  1533.        "Configuration File" section later in this document for more details.
  1534.  
  1535.  
  1536.        DMP /LIS command:
  1537.           Display all control character and escape sequence conversions in
  1538.           effect.
  1539.  
  1540.        Causes the driver to display a table of all conversions in effect.
  1541.        The table is displayed when any conversion commands are entered.  This
  1542.        command permits checking the table without changing any entries.
  1543.  
  1544.        A typical display is as follows:
  1545.  
  1546.           Escape sequence conversions:
  1547.              50                      -Inhibited-
  1548.              69                      27,31,32,32
  1549.              70                      27,32,32,32
  1550.              98,111,120              27,28,32
  1551.              101,98,120              27,54,32
  1552.           Control characters:
  1553.              15       -Inhibited-
  1554.              18       -Inhibited-
  1555.  
  1556.           The numbers on the left show the characters for which conversions
  1557.        are in effect.  Those on the right show the outputs, or inhibited
  1558.        status.
  1559.  
  1560.  
  1561.  
  1562.                               DMP 2.00 - page 25.
  1563.  
  1564.  
  1565.  
  1566.        SPOOLER CONTROL
  1567.  
  1568.           The following commands give you precise control over the spooling
  1569.        functions in DMP.  They are primarily useful for error recovery
  1570.        situations.  These commands may only be entered after the program is
  1571.        installed - on the second and subsequent invocations.
  1572.  
  1573.  
  1574.        DMP /SK Command:
  1575.           Cancel printing.  Flush buffered printer data.
  1576.  
  1577.        Deletes any spool files from disk. Empties any memory buffers.
  1578.        Printing stops, but spooler operation continues normally after reset.
  1579.        All data that was spooled to be printed is lost.  Useful for paper
  1580.        jam, printer malfunction, wrong setup, etc.
  1581.  
  1582.           If printer output has been set to a disk file, this command does
  1583.        not delete the disk file or stop the output.
  1584.  
  1585.        DMP /S- command:
  1586.           Stop spooler output to printer.
  1587.  
  1588.        Turns off output to printer.  Spooler continues to function,
  1589.        generating printer output data to memory and/or disk if needed.
  1590.        Output can be re-enabled from the point where it was stopped with the
  1591.        '/S+' command.  Useful for spooling output for printing later,
  1592.        changing printer paper, etc.
  1593.  
  1594.           If printer output has been redirected to a disk file, this command
  1595.        affects only data which is still spooled for the printer, if any.
  1596.        Output continues to go to the disk file.
  1597.  
  1598.        Example:
  1599.           DMP /S-
  1600.           -Spooler output is turned off temporarily.
  1601.  
  1602.  
  1603.        DMP /S+ command:
  1604.           Restart spooler output after '/S-' or '/SB'.  Turns on output to
  1605.           printer after it has been turned off with '/S-', or bypassed with
  1606.           '/SB'.
  1607.           No effect if the output is already on.
  1608.  
  1609.  
  1610.        DMP /SB Command:
  1611.           Bypass spooler function.
  1612.  
  1613.        This command bypasses spooler and driver operation for all subsequent
  1614.        printing.  All printer output is sent thru BIOS.  The program is re-
  1615.        enabled by the  '/S+' command.  If printer output was directed to a
  1616.        disk file, it will stop going to the file until re-enabled by the
  1617.        '/S+' command.
  1618.  
  1619.  
  1620.  
  1621.  
  1622.                               DMP 2.00 - page 26.
  1623.  
  1624.  
  1625.  
  1626.        MISCELLANEOUS
  1627.  
  1628.        DMP /NV command:
  1629.           Suppress all messages when commands are executed.
  1630.  
  1631.        DMP displays normal messages through DOS to "standard output", error
  1632.        messages to "standard error".  This command turns off all message
  1633.        output (except copyright notice when installing).  It suppresses both
  1634.        normal and error messages.
  1635.  
  1636.           If you want to suppress only normal messages and still display
  1637.        errors, you can run DMP as  DMP/options... >NUL.  This causes DOS
  1638.        standard output to be redirected to "nul" - not displayed.
  1639.  
  1640.           This command can be used when another program calls DMP via the DOS
  1641.        'exec' function.  DMP will return error level 0 if no errors occur,
  1642.        error level 2 otherwise.  This command does not turn messages off
  1643.        permanently.  It must be entered at the beginning of the command line
  1644.        any time messages are to be inhibited.
  1645.  
  1646.  
  1647.        USING THE ENVIRONMENT VARIABLE
  1648.  
  1649.           DMP will read memory spooling commands from a DOS environment var-
  1650.        iable when it is being installed, if desired.  The variable should be
  1651.        entered with the 'SET' command as:
  1652.             SET DMP = /options.
  1653.        'options' can be memory commands "/MXP", "/MXT..", "/MXALL.." for
  1654.        selecting expanded or extended memory or both for spooling.  DMP will
  1655.        look for the "DMP=" environment variable when installing only.
  1656.  
  1657.           The use of the environment variable is optional, and the program
  1658.        will execute command line selections whether the environment variable
  1659.        is used or not.
  1660.  
  1661.  
  1662.        USING THE CONFIGURATION FILE
  1663.  
  1664.           The configuration file was mentioned in section 7 above.  It is a
  1665.        very convenient way to set up a complex set of options without having
  1666.        to remember a lot of commands, and without needing a batch file.
  1667.  
  1668.           When DMP is installed, it looks for a file named DMP.CFG which
  1669.        holds the selections for most of the options.  If this file is not
  1670.        found, all the default parameters are used.  The command to save the
  1671.        file is "DMP /WCF".  It stands for "Write Configuration File".
  1672.  
  1673.           Once you have stored the configuration, you do not need to re-enter
  1674.        your options every time you use DMP.  The basic options that are saved
  1675.        include the printer port, type of memory and/or disk spooling selected
  1676.        and all the character conversion and page formatting options.
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.                               DMP 2.00 - page 27.
  1683.  
  1684.  
  1685.  
  1686.           You can change option settings and re-write the new options with
  1687.        another /WCF command at any time.  It is a good idea to do this as you
  1688.        'fine tune' the settings for a printer/computer combination.
  1689.  
  1690.           You can go back to the last saved option settings by entering
  1691.        "DMP /RCF"  after installing DMP.  This is useful if you have changed
  1692.        the options and then decide you liked them better the way they were.
  1693.  
  1694.           The DMP.COM file may be renamed if desired.  Under DOS 3.0 or
  1695.        later, DMP looks for a configuration file with it's own name and the
  1696.        extension ".CFG".  Under all versions of DOS 2, it uses file "DMP.CFG"
  1697.        in the current directory.  This is only important if you rename the
  1698.        DMP.COM file or if you install DMP from different directories each
  1699.        time under DOS 2.
  1700.  
  1701.           There are only two options that are not saved with the
  1702.        configuration file:
  1703.           1. Printing to a disk file.
  1704.           2. Program in graphics/binary mode or bypassed with the "/G+" or
  1705.             "/SB" commands.
  1706.  
  1707.  
  1708.        DMP AND WORD PROCESSORS
  1709.  
  1710.           DMP works well with all types of word processors.  This section
  1711.        gives you a few tips for getting the most from your word processor and
  1712.        DMP at the same time.
  1713.  
  1714.           If your word processor does not support your printer, you can use
  1715.        some of the escape sequence and character control functions in DMP to
  1716.        get page formatting on your printer to match one that your word
  1717.        processor does support.  This can be a tedious process, but it may
  1718.        still be better than buying a new printer!
  1719.  
  1720.           If your word processor supports your printer and drives it normally
  1721.        - thru the system BIOS or DOS - you get maximum benefits from both
  1722.        programs.  DMP should usually be put in "/G+" mode while using the
  1723.        word processor.
  1724.  
  1725.           If you have a serial port printer, set up DMP with the "/SC"
  1726.        command and the proper settings for your serial port.  Do not use the
  1727.        DOS "MODE" command.  It is sometimes necessary to tell your word
  1728.        processor to print to "PRN" or "LPT1" to get it to spool through DMP.
  1729.        Experimenting with a single page printout should tell you if the
  1730.        settings are correct.
  1731.  
  1732.           If your word processor supports your printer and drives the PC's
  1733.        hardware directly, you may not know it.  Try printing a page or two
  1734.        with DMP installed, and see if the system is returned to you right
  1735.        away while the printer is printing.  If so, the spooler is working.
  1736.        If not, the word processor is driving the printer directly.  A number
  1737.        of "high-end" word processors and desktop publishing programs will do
  1738.        this.  For this type of program, you should set DMP to match your
  1739.        hardware, and of course do not try to print from DMP and the word pro-
  1740.  
  1741.  
  1742.                               DMP 2.00 - page 28.
  1743.  
  1744.  
  1745.  
  1746.        cessor at the same time.  You still get the features of DMP for
  1747.        printing from other programs, printing disk files, etc.  You should
  1748.        also get all the features of your word processor with no conflicts.
  1749.  
  1750.  
  1751.        TECHNICAL DESCRIPTION
  1752.  
  1753.           This section provides some detailed information on how the DMP
  1754.        program works.  Read it if you are interested, or if you are having
  1755.        problems getting started.  The commands are described in detail in the
  1756.        previous sections.
  1757.  
  1758.  
  1759.        HOW COMMANDS ARE INTERPRETED.
  1760.  
  1761.           When DMP is installed, it reads the configuration file before any
  1762.        commands that you enter at the DOS prompt.  This means you can over-
  1763.        ride any of the settings in the file with commands if you want to.
  1764.  
  1765.           The commands for selection of spool buffers, output port, and all
  1766.        character conversions may be entered in any order.  The program reads
  1767.        them in the order desired, and ignores conflicting commands.
  1768.  
  1769.  
  1770.        DETAILS OF PROGRAM OPERATION.
  1771.  
  1772.           DMP is a "generic" printer driver, not configured for any specific
  1773.        make or model of printer.  Use of the character and escape sequence
  1774.        conversions, serial port redirection and several other options will
  1775.        almost certainly require a thorough understanding of the printer
  1776.        manual for the printer that is to be used.  Referring to that document
  1777.        at the same time as the command options given here should allow the
  1778.        program and printer to work together harmoniously, though the process
  1779.        may take some time.
  1780.  
  1781.           DMP only works with the 'primary' printer on a system, designated
  1782.        'PRN' by DOS.  It can work with more than one printer on a system, one
  1783.        at a time, as explained above.
  1784.  
  1785.           When the computer is turned on, the BIOS finds the parallel printer
  1786.        by sending signals to each of the 3 possible port addresses, in a
  1787.        specific order.  The first port that responds becomes "LPT1" or "PRN"
  1788.        for DOS.  If a second port responds, it becomes "LPT2".  Thus the BIOS
  1789.        designations don't correspond to a specific hardware setup.  DMP will
  1790.        use the one BIOS finds if you don't specify otherwise in a "/B"
  1791.        command, but doesn't necessarily use the same naming convention.  The
  1792.        port addresses used are listed under the "/B" command.
  1793.  
  1794.           DMP functions by intercepting the BIOS software printer interrupt
  1795.        (17hex), converting characters as needed, and sending the resulting
  1796.        output to the spooler.  The spooler saves the data as it is received,
  1797.        then sends it to the printer by driving the parallel or serial port
  1798.        directly, or sending printer output to a disk file.
  1799.  
  1800.  
  1801.  
  1802.                               DMP 2.00 - page 29.
  1803.  
  1804.  
  1805.  
  1806.           Calls to INT 17H which are for a printer other than the primary one
  1807.        are 'chained' to the previous vector.  The spooler also intercepts the
  1808.        timer interrupt, calls the previous owner of the timer, then checks
  1809.        for any printer functions needed.  If the printer is redirected to a
  1810.        COM port, the hardware interrupt for that port is also used, and the
  1811.        use of the timer interrupt is reduced.
  1812.  
  1813.           The timer interrupt is also used to time out the print-to-file
  1814.        function after a few seconds of no activity.
  1815.  
  1816.           DMP also uses DOS software interrupts 21H and 28H to get access to
  1817.        DOS for disk read and write functions.
  1818.  
  1819.           The character and escape sequence conversion functions use internal
  1820.        conversion tables.  The hi-bit characters are converted from a simple
  1821.        128 byte lookup, which is initialized to all the same characters.  The
  1822.        escape sequence conversions use a separate 512 byte buffer for the
  1823.        conversion strings.  The strings are sorted when they are entered, and
  1824.        compared using a binary search when being received.  This puts as much
  1825.        of the complexity as possible in the non-resident portion of the
  1826.        program.
  1827.  
  1828.           Of the system memory used for DMP,  about 6K bytes is program code
  1829.        and internal data.  Seperate buffers are used for input and output
  1830.        with 6K bytes total in the default configuration.  An internal stack
  1831.        is used when needed during timer ticks.
  1832.  
  1833.           A large amount of the code in DMP is for error handling.  The basic
  1834.        approach is that if the spool buffers fill, but the printer is still
  1835.        printing, wait about 90 seconds for the output buffer to empty.  If it
  1836.        doesn't empty, return an error to the program that is printing.
  1837.        Contention for access to the disk presents a more complex problem.
  1838.        DMP will sense a "deadlock" condition if one arises, and again return
  1839.        an error to the caller.  The use of expanded or extended memory for
  1840.        spooling helps avoid such problems.
  1841.  
  1842.           The "Print-to-disk" option uses the input data buffer.  The buffer
  1843.        is written to the disk file when it reaches half of the input buffer
  1844.        size, as soon as DOS is available for the disk write function.  If the
  1845.        buffer fills up and DOS is not ready, the information for the file
  1846.        will be written to memory buffers if any are available.  If there is
  1847.        nowhere else to go, an error return is given to the program that is
  1848.        printing.  DMP will not "throw away" data if the disk is not
  1849.        available.  The buffer will also be written to the disk after an 8
  1850.        second (approx.) timeout if nothing has been output to the printer.
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.                               DMP 2.00 - page 30.
  1863.  
  1864.  
  1865.        DMP COMMAND SUMMARY CHART
  1866.             Function                             Default     Select(DMP/..)
  1867.        Printer output:
  1868.           Set printer output to parallel port #n.   BIOS       Bn
  1869.           Set default parallel port                 Bios port  B
  1870.           Printer output to serial port x, bit      Parallel   SCxRyy
  1871.             rate yy, Wait for abc (CTS,DSR,DCD)     CTS        Wabc
  1872.           Printer output to filename:               Parallel   PFfilename
  1873.             -Append to file if it exists                       AFfilename
  1874.             -Overwrite file if it exists                       OFfilename
  1875.        Spooler control:
  1876.           Set internal buffer size to nn Kbytes     6K         MX:nn
  1877.           Use expanded memory for spooling          None       MXP
  1878.           Use extended memory for spooling,         None       MXT xxx yyy
  1879.             use xxxK bytes, start at yyyK over 1MB
  1880.           Use expanded and extended memory,         None       MXALL xxx yyy
  1881.             use xxxK bytes, start yyyK over 1MB
  1882.           Turn off expanded/extended memory usage              MXNONE
  1883.           Spool to disk drive X.                    None       DX:
  1884.           Turn off disk spooling                               DNONE
  1885.           Spool output OFF (temp)                   ON         S-
  1886.           Spool output ON, after /S-.               ON         S+
  1887.           Cancel printing. Flush buffers/files.                SK
  1888.           Bypass spooler. Pass chars to BIOS.                  SB
  1889.        Printer control:
  1890.           Graphics/binary mode printing ON,OFF.     OFF        G+,G-
  1891.           Send,No send LF to printer after CR.      *No send   L+,L-
  1892.           Printer does/doesn't auto LF on CR.       Doesn't    A+,A-
  1893.           Allow,Suppress LF after CR from user.     *Allow     U+,U-
  1894.           Printer does/doesn't have form feed.      *Does      F+,F-
  1895.           Set physical page length (paper length)*  66 lines   Pnn
  1896.           Set text length for auto FF (skip perf)*  70 lines   Vnn
  1897.           Set left margin.  nn=0 to 99              *No margin Mnn
  1898.           Tab expansion ON,OFF                      *OFF       T+,T-
  1899.           Reset tabs to every 8 positions           Reset      TR
  1900.           Clear all tab stops                       8 spaces   TC
  1901.           Add tab stops at columns aa,bb,...        8 spaces   Taa+,bb+,
  1902.           Remove tab stops at aa,bb,...             "     "    Taa-,bb-,
  1903.        Character conversions:
  1904.           Send char. string to printer                         C<char seq>
  1905.           Convert control char nn to string <char seq>
  1906.             up to 5 chars., 0 to 31, not Tab,CR,LF,FF,esc.*   Xnn=<char seq.>
  1907.           Inhibit sending control char. nn               *     Xnn=-
  1908.             Remove inhibits/converts for char. nn        *     Xnn=+
  1909.           Enter conversion chars in hi-bit table         *   Xnnn=<char seq.>
  1910.           Convert escape sequence <seq 1>                *     E<seq 1>=
  1911.             -replace with <seq 2>                        *      <seq 2>
  1912.             -remove conversions                          *     E<seq 1>+
  1913.             -inhibit sequence                            *     E<seq 1>-
  1914.           Display all conversions in effect              *     LIS
  1915.        Other:
  1916.           Non-verbose mode (no messages)            msgs on    NV
  1917.           Save configuration file                              WCF
  1918.           Read configuration file                              RCF
  1919.        *DMP makes no conversions for these options with graphics mode ON.*
  1920.  
  1921.  
  1922.                               DMP 2.00 - page 31.
  1923.  
  1924.  
  1925.  
  1926.        REGISTRATION AND ORDERING
  1927.  
  1928.           There is only one current version of DMP - there are no "demo" or
  1929.        "crippled" versions.  The programs are updated from time to time,
  1930.        however.  You will receive the latest version when you register.
  1931.  
  1932.           You can also order DMP from the Public (Software) Library at 1-800-
  1933.        2424-PSL (orders only;  for information call 1-713-665-7017) or by
  1934.        writing to:
  1935.             PSL
  1936.             P.O.Box 35705
  1937.             Houston, TX 77235-5705
  1938.        MC/Visa Accepted.
  1939.  
  1940.           User support is available from the author on CompuServe via PPN
  1941.        73210,2531.  Your questions will be answered within 48 hours, usually
  1942.        much quicker.  If you do not have access to CompuServe, please write
  1943.        to DMP software at the address above.
  1944.  
  1945.           The author of this program is a member of the Association of
  1946.        Shareware Professionals (ASP).  The ASP has established stringent
  1947.        standards for both its Members and any organization which has 'ASP
  1948.        Approved' status.  ASP wants to make sure that the shareware principle
  1949.        works for you.  If you are unable to resolve a problem with either a
  1950.        ASP Member or organization (other than technical support), ASP may be
  1951.        able to help.  Please write to:
  1952.           ASP Ombudsman
  1953.       P.O. Box 5786
  1954.       Bellevue, WA    98006
  1955.        Or send a CompuServe message via easyplex to
  1956.       ASP Ombudsman  70007,3536
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.        ---------------------------------------------------------------------
  1987.        DMP ORDER FORM
  1988.  
  1989.        The registration fee for one copy of DMP is $18.  California residents
  1990.        add sales tax for your county.  Mail this completed form to:
  1991.              DMP Software
  1992.              1223 Wilshire Blvd., Suite 199
  1993.              Santa Monica,  CA  90403
  1994.  
  1995.        You will receive the latest version of the program on 5.25" disk.
  1996.  
  1997.  
  1998.        Name:__________________________________________
  1999.  
  2000.        Company:_______________________________________
  2001.  
  2002.        Street Address:________________________________
  2003.  
  2004.        City:___________________State:______ZIP:_______
  2005.  
  2006.        Number of copies___ x $18               $_____.___
  2007.        Sales tax (CA)                           _____.___
  2008.        Total     enclosed:                     $_____.___
  2009.  
  2010.        ---------------------------------------------------------------------
  2011.  
  2012.        The remainder of this form is for more than 5 copies of DMP, or a site
  2013.        license.  Fill out the name and address portion above, and mail your
  2014.        check for the desired number of copies.  If you are ordering more than
  2015.        10 (ten) copies, you will receive a site license agreement along with
  2016.        the latest version of DMP.  If you would like a site license agreement
  2017.        only, mail a request to the above address.
  2018.  
  2019.        Number of copies:             Price per copy:
  2020.        ==============================================
  2021.              5 - 25                  $10.00
  2022.              26 - 100                $ 7.50
  2023.              101 and up              $ 2.00
  2024.              ($1000.00 maximum for one location).
  2025.  
  2026.  
  2027.        Total enclosed:               $______.___
  2028.  
  2029.  
  2030.        Authorized signature:                   Title:
  2031.  
  2032.  
  2033.        ______________________________          _____________________________
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.        ---------------------------------------------------------------------
  2046.  
  2047.  
  2048.        LaserZ ORDER FORM
  2049.  
  2050.        Mail this completed form to:
  2051.              DMP Software
  2052.              1223 Wilshire Blvd., Suite 199
  2053.              Santa Monica,  CA  90403
  2054.  
  2055.        You will receive LaserZ on 5.25" disk with complete, printed manual.
  2056.        ANY AMOUNT THAT YOU HAVE PAID FOR REGISTRATION OF THIS OR ANY EARLIER
  2057.        VERSION OF DMP (SINGLE COPY) MAY BE DEDUCTED FROM THE PRICE FOR
  2058.        LASERZ.
  2059.  
  2060.  
  2061.        Name:__________________________________________
  2062.  
  2063.        Company:_______________________________________
  2064.  
  2065.        Street Address:________________________________
  2066.  
  2067.        City:___________________State:______ZIP:_______
  2068.  
  2069.        Number of copies___  x $32    ($29 + $3 s&h)      $_____.___
  2070.        Sales tax (CA)                                     _____.___
  2071.        Total enclosed:                                   $_____.___
  2072.  
  2073.  
  2074.        ---------------------------------------------------------------------
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.